The Internet is a network of computer networks capable of allowing a first node attached to the network of computer networks to communicate with a second node attached to the network of computer networks, nodes being defined herein as including hosts or routers. The Internet was conceived by the Advanced Research Projects Agency (ARPA) of the US Government in 1969 as a network to allow users of a research computer at one university to be able to “talk to” research computers at other universities; the network was known as the Advanced Research Projects Agency Network. The ARPA Network was capable of routing or re-routing messages in more than one direction and so was able to continue functioning even if parts of the ARPA Network were destroyed, for example, as a result of a military attack or other disaster.
Presently, the Internet is public and is used by a large number of users throughout the world, the interconnection of the computer networks forming the Internet being supported by resources of current public telecommunications systems worldwide.
The Internet comprises administrative routing domains known as Autonomous Systems (ASs), each routing domain having associated therewith a respective set of Internet Protocol (IP) addresses. The Internet employs, inter alia, an IP Layer, the IP Layer serving to direct or route packets from a source to a destination, guided by an IP address of the destination, the destination being a node, such as a host or router. The Internet also employs a Transport Layer, generally in accordance with the Open Systems Interconnection (OSI) model for communications.
The ASs partition the Internet into mutually exclusive routing domains. In each AS, allocation of IP addresses and all other operational mechanisms is generally controlled by a single administrative authority. In IP version 6 (IPv6), the IP addresses comprise a 128 bit binary number. As disclosed in Section 2.5.7 of Request For Comments (RFC) 2373, entitled “IPv6 Addressing Architecture” (July 1998) and RFC 2374, entitled “IPv6 Aggregatable Global Unicast Address Format” (July 1998), a hierarchical organisation is imposed on the routing domains. A first plurality of the routing domains are Top Level Aggregators (TLAs), the TLAs forming a topmost level of the hierarchical organisation, known as a default-free zone. In order to be designated as one of the TLAs, a given routing domain has to have connectivity with other TLAs such that a packet bearing any IPv6 IP address (hereinafter referred to as an “IP Address”) can be routed through the TLAs to a correct one of the TLAs associated with the IP address.
A second plurality of the routing domains can subtend from one or more of the TLA, the second plurality of the routing domains being known as Next Level Aggregators (NLAs). The NLAs constitute a next highest level of the hierarchical organisation, the NLAs subtending from the one or more of the TLAs capable of sending and receiving packets from the one or more TLA. A plurality of lower levels of NLAs may also exist and subtend from the next highest level of the hierarchical organisation in a same way as the next highest level subtends from the topmost level. A lowest level of the NLAs is also said to comprise Site Level Aggregators (SLAs).
Authority to allocate IP addresses from a respective portion of IPv6 address space is delegated to each routing domain, the address space being a totality of positive binary numbers that can be represented by 128 bits. An administrative authority of the each routing domain can allocate the respective IP addresses delegated thereto, either to hosts or routers within the each routing domain, or further delegate, to a subtending routing domain at a level beneath the each routing domain in the hierarchical organisation, authority to allocate a portion of addresses from the respective portion of IPv6 address space already allocated to the each routing domain.
Overall allocation authority is vested in the Internet Assigned Numbers Authority (IANA) which is part of the Internet Corporation for Assigned Numbers and Names (ICANN). IANA delegates authority for tranches of the IPv6 address space to three geographical regional authorities: Reséau IP Européen (RIPE), American Registry for Internet Names (ARIN), and Asia Pacific Network Information Centre (APNIC). The three geographical regional authorities, in turn, delegate authority to the TLAs respectively operating in the three geographical regions.
At each stage of delegation, the IP addresses delegated comprise a block of IP addresses in which the 128 bit binary numbers have a common pattern of digits in a leftmost, or most significant, part of the 128 bit binary number. The common pattern of digits is known as a prefix and identifies the block of IP addresses; the block of IP addresses is characterised by the prefix and a number of bits in the prefix, known as a prefix length.
The routing domains, and especially the TLAs, are required under IPv6 to adopt a policy for routing unicast traffic in which each routing domain only routes traffic to lower level routing domains subtending from each routing domain when the lower level routing domains have destination addresses according to RFC 2374 that are refinements of a prefix of the each routing domain. Consequently, each routing domain only has to advertise the prefix of the each domain to peers of the each domain through routing protocols. Such routing policy is known as “strong/strict aggregation” and requires, rather than suggests as in IP version 4 (IPv4), that IP addresses of the lower level routing domains (inferior domains) form a block of IP addresses specified by the prefix of the each domain (superior domain).
Increasingly, in order to assist with avoiding certain denial of service attacks, the superior domain is only accepting traffic from the inferior domains bearing source addresses within the block of IP addresses allocated to the inferior domains.
It is known for a first, non-TLA, routing domain to be connected, at the IP layer, to a second routing domain disposed above the first routing domain in the hierarchical organisation. In order to make an IPv6 service more robust, i.e. provide more diverse routes to the default-free zone, the first routing domain is connected to a third routing domain; the third routing domain is also above the first routing domain in the hierarchical organisation. The provision of multiple alternative routes to the default-free zone is known as “multi-homing”. However, the strong aggregation requires both the second and third routing domains to delegate separate sets of IP addresses to the first routing domain in order to send and receive packets through the second and third routing domains, respectively. The connection via the first and second routing domains constitutes a first route, and the connection via the first and third routing domains constitutes a second route.
In order for a packet, inbound to the first routing domain, sent by one of the first or second routes to be correctly routed, the inbound packet needs to bear a destination address corresponding a route taken, because the destination address of the inbound packet needs to match the prefix of the TLA from which the route taken subtends. Likewise, a source address of a packet, outbound from the first domain, needs to match the prefix of the TLA from which the route taken subtends, otherwise the outbound packet will be discarded as “bogus”, because the outbound packet will appear not to originate from a domain corresponding to the source address.
In this respect, a first host attached to the first domain is capable of sending packets to a second host at a second point of attachment to the Internet. The first host has a first IP address and a second IP address, the first and second IP addresses being delegated by the TLAs from which the second and third routing domains ultimately subtend. Since the first routing domain is multi-homed, the packets can be routed via the second or the third routing domains, depending upon whether the first host selects the first IP address or the second IP address using an address selection technique.
“Default Address Selection for IPv6” by R. Draves (<draft-ieff-ipngwg-default-addr-select-01.txt>, July 2000) discloses a proposed address selection technique for determining most preferred source and destination addresses for a communication where one or both of the source and destination of the communication have multiple alternative IP addresses, for example, the first, multi-homed, routing domain. Using the proposed address selection technique, the second host, trying to initiate communications with the first host, looks-up a name of the first host in a Domain Name System (DNS) to obtain a list of IP addresses corresponding to the first host. The second host selects one of the IP addresses from the list, according to the proposed address selection technique and builds and sends packets to a first IP address (from the list) of the first host as a destination address and using a preferred IP address of the second host as a source address. As the packets are routed to the first host, the packets undergo a number of known checks to ensure that the source address is valid.
If a first path between the first and second domains becomes unavailable, an Internet Control Management Protocol (ICMP) “Destination Unreachable” message is sent to the second host. Upon receipt of the ICMP message, if the second host is initiating a communication with the first host, i.e. a first packet is being sent by the second host to the first host, the second host can try an alternative IP address, i.e. the second IP address from the list of IP addresses supplied by the DNS. Alternatively, if the communication between the first and second hosts is already underway using a Transmission Control Protocol (TCP) connection, the communication has to be terminated and re-established, because the TCP connection can not alter the destination address to the second IP address once the TCP connection is bound to the first IP address.
The source and destination addresses of return packets from the first host in reply to packets received from the second host are formed by interchanging the source and destination addresses of the packets received from the second host. The return packets are routed according to policy in the first routing domain through one of the TLAs, selecting either the first route or the second route according to the source address in the return packets. If one of the first or second routes becomes unavailable whilst trying to route the return packets, the communication has to be terminated, because the return packets can not be redirected once the communication is in progress.
If the communication is established by the first host to the second host, the first host initially looks-up the domain name of the second host in the DNS in order to obtain the IP address of the second host. In reply, the DNS provides another list of IP addresses corresponding to the domain name of the second host. The first host selects one of the IP addresses from the list, according to the proposed address selection technique, and builds and sends packets to the IP address of the second host as a destination address and uses the first or second IP address of the first host as a source address. The selection of the first or second IP address of the first host as the source address depends upon the above-mentioned address selection technique in the first routing domain. As the packets are routed to the second host, the packets undergo a number of known checks to ensure that the source address is valid. If the first route becomes unavailable, no mechanism currently exists to inform the first host to use the second IP address of the first host as the source address instead of the first IP address of the first host, thereby selecting the second route. Additionally, packets originating from the second host can not pass through the unavailable route and no mechanism exists to advise the second host to use the second route. Also, for future communications with the first host, there is no way of altering the address selection technique so as to take advantage of the second route.
A similar situation to that described above can occur if the first or second path is replaced by a third path between the first domain and a fourth domain.
Additionally, if the first host decides to use a different domain, or a different IP address is assigned to the first host, as a result of an administrative decision, irrespective of whether the first host is multi-homed, for example by a decision of a proprietor of the first domain, there is currently no facility in the IPv6 to enable the different IP address to be reached instead of the first or second IP addresses.
In a different scenario, a first access network and a second access network is provided, possibly at a single topological point of attachment to the Internet. The first access interface operates in accordance with a first type of access technique and the second access interface operates in accordance with a second type of access technique. At present, a technique does not exist to enable the first host to hand-over a communication, at an IP Level, between the first and second access interfaces if the first host decides to communicate with the second host via the second access network instead of the first access network.
In another scenario, to balance traffic loading between a large number of hosts and a single content server, it is known for a content provider to have a number of web servers connected to a gateway or content switch, thereby providing a degree of redundancy and traffic load sharing, to enable the content provider to support a large number of requests for content. For a host to access content, the host looks-up a host name part of a URL of the content. In reply, the DNS provides the host with an IP address of the content switch. The host then tries to establish a communication with the content switch. The content switch, as the name suggests, switches packets from the host to one of the web servers. Similarly, packets from the one of the web servers to the host are switched through the content switch to the host. However, the provision of the content switch is accompanied by a financial cost and introduces a time delay between the host and the web servers. Additionally, the provision of the content switch is usually accompanied by a restriction to providing the web servers and the content switch in a same geographical location.
An alternative way of providing communications between the host and the one of the web servers is by use of a dynamic DNS technique. In this alternative, the host looks-up the URL of the content. In reply, the DNS selects an IP address of the one of the web servers, the choice of web server being dictated by a selection policy, such as strict rotation, or lowest traffic loading policy. The selected IP address is then used by the host to communicate with the one of the web content servers.